package cn.bluethink.eguan.core.service;

import cn.bluethink.eguan.model.core.EgObject;
import cn.bluethink.eguan.model.core.EgRole;

public abstract class AEgUserPurviewService {
	public AEgUserPurviewService() {
		EgUserPurviewService.addUserPurviewService(posOType(), this);
	}
	
	/**
	 * 获取权限时，所支持的位置类型
	 * @return
	 */
	abstract public Integer posOType();
	/**
	 * 根据用户所在位置，获取其详细权限信息
	 * @param pos 用户所在位置
	 * @param uid 用户ID
	 * @param urole 该用户所在江湖中的权限
	 * @return
	 */
	abstract public EgRole role( EgObject pos, Long uid, EgRole urole) throws Exception;
}
